<?php
	session_start();
// This will connect us to our database...
include("../../funciones.php");
$conexion = conectaDB();
// The ext grid script will send  a task field which will specify what it wants to do
$task = '';
if ( isset($_POST['task'])){
  $task = $_POST['task'];
}
switch($task){
    case "LISTING":
        getList($conexion);
        break;
	case "LISTADO_PRODUCTO":
		obtenerListadoproducto($conexion);
        break;
	case "LISTADO_TIPO_MOVIMIENTO":
		obtenerListadotipo_movimiento($conexion);
        break;
	case "LISTADO_TIPO_PROVEEDOR":
		obtenerListadoproveedor($conexion);
        break;	
	case "UPDATE":
        updateRow($conexion);
        break;
    case "CREATE":
        createRow($conexion);
        break;
    case "DELETE":
        deleteRow($conexion);
        break;
    case "SEARCH":
        searchRows($conexion);
        break;
    case "COMBO_SEARCH":
        searchcomboRows($conexion);
        break;
    default:
        echo "{failure:true}";
        break;
}

	function obtenerListadoproveedor($conexion)
	{
		$query = "	SELECT 	Id_proveedor,
							RFC,
							nombre							
					FROM proveedor order by Id_proveedor";
		$result = mysql_query($query);
		$nbrows = mysql_num_rows($result);
		/*$start = (integer) (isset($_POST['start']) ? $_POST['start'] : $_GET['start']);
		$end = (integer) (isset($_POST['limit']) ? $_POST['limit'] : $_GET['limit']);
		$limit = $query." LIMIT ".$start.",".$end;    
		$result = mysql_query($limit);  */
  
		if($nbrows>0){
			while($rec = mysql_fetch_array($result)){
				$arr[] = $rec;
			}
			$jsonresult = JEncode($arr);
			echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
		} else {
			echo '({"total":"0", "results":""})';
		}
	}	
	
	function obtenerListadotipo_movimiento($conexion)
	{
		$query = "	SELECT 	Id_tm,
							nombre,
							descripcion,
							salida
					FROM tipo_movimiento 
					WHERE Id_estatus=1 order by Id_tm";// Tipo 1 que son registros visibles para movimientos
		$result = mysql_query($query);
		$nbrows = mysql_num_rows($result);
		/*$start = (integer) (isset($_POST['start']) ? $_POST['start'] : $_GET['start']);
		$end = (integer) (isset($_POST['limit']) ? $_POST['limit'] : $_GET['limit']);
		$limit = $query." LIMIT ".$start.",".$end;    
		$result = mysql_query($limit);  */
  
		if($nbrows>0){
			while($rec = mysql_fetch_array($result)){
				if($rec["salida"]==0)$rec["nombre"]="Entrada por ".$rec["nombre"];
				else $rec["nombre"]="Salida por ".$rec["nombre"];
				$arr[] = $rec;
			}
			$jsonresult = JEncode($arr);
			echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
		} else {
			echo '({"total":"0", "results":""})';
		}
	}	

	function obtenerListadoproducto($conexion)
	{
		$query = "	SELECT 	Id_producto,
							nombre,
							descripcion,
							codigo_barras,
							existencia
					FROM producto order by Id_producto";
		$result = mysql_query($query);
		$nbrows = mysql_num_rows($result);
		/*$start = (integer) (isset($_POST['start']) ? $_POST['start'] : $_GET['start']);
		$end = (integer) (isset($_POST['limit']) ? $_POST['limit'] : $_GET['limit']);
		$limit = $query." LIMIT ".$start.",".$end;    
		$result = mysql_query($limit);  */
  
		if($nbrows>0){
			while($rec = mysql_fetch_array($result)){
				$arr[] = $rec;
			}
			$jsonresult = JEncode($arr);
			echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
		} else {
			echo '({"total":"0", "results":""})';
		}
	}
	
	function updateRow($conexion)
	{
		$id_producto = 		$_POST['id_producto'];
		$nombre = 			$_POST['txt_nombre'];
		$descripcion = 		$_POST['txt_descripcion'];
		$id_familia = 		$_POST['id_familia'];
		$codigobarras =		$_POST['txt_codigobarras'];
		
		$result = mysql_query("BEGIN",$conexion);
		if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
		
		
			/*Insercion sencilla*/
			$query = "	UPDATE 	producto SET 	nombre='$nombre',
												descripcion='$descripcion',
												Id_familia=$id_familia,
												codigo_barras='$codigobarras'
						WHERE 	Id_producto=$id_producto";
			$result = mysql_query($query,$conexion);
			if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
		
		$result = mysql_query("COMMIT",$conexion);
		if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
		echo 1;	
	}
	
	function getList($conexion) 
	{
		if($_POST['id_producto']!='')
		{
			$id_producto = 		$_POST['id_producto'];
			$query = "call	reporte_ficha_almacen($id_producto)";
			$result = mysql_query($query);
			$query = "select * from ficha_almacen ORDER BY cns";
			$result = mysql_query($query);
			$nbrows = mysql_num_rows($result);
			/*$start = (integer) (isset($_POST['start']) ? $_POST['start'] : $_GET['start']);
			$end = (integer) (isset($_POST['limit']) ? $_POST['limit'] : $_GET['limit']);
			$limit = $query." LIMIT ".$start.",".$end;    
			$result = mysql_query($limit);  */
  
			if($nbrows>0){
				while($rec = mysql_fetch_array($result)){
					$arr[] = $rec;
				}
				$jsonresult = JEncode($arr);
				echo '({"total":"'.$nbrows.'","results":'.$jsonresult.'})';
			} else {
				echo '({"total":"0", "results":""})';
			}
		}
		else
		{echo '({"total":"0", "results":""})';}		
	}

	
	function createRow($conexion)
	{
		$id_producto = 			$_POST['id_producto'];
		$id_tm = 				$_POST['id_tm'];
		$id_proveedor = 		$_POST['id_proveedor'];
		$fecha_usuario = 		$_POST['fecha_usuario'];
		$comprobante = 			$_POST['comprobante'];
		$cantidad = 			$_POST['cantidad'];
		$precio_compra = 		$_POST['precio_compra'];
		$precio_venta = 		$_POST['precio_venta'];
		
		if($id_proveedor==''){$id_proveedor=-1;}
		
		$result = mysql_query("BEGIN",$conexion);
		if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
		
		
			/*Insercion sencilla*/
			$query = "call entrada_producto($id_producto,$id_tm,$id_proveedor,'$fecha_usuario','$comprobante',$cantidad,$precio_compra,$precio_venta,@id_pago)";
			//echo $query;
			$result = mysql_query($query,$conexion);
			if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
		
		$result = mysql_query("COMMIT",$conexion);
		if(testeo($result,$conexion)){testerarchivo("checar.txt",$query);return;}
		echo 1;
	}
	
	// Encodes a SQL array into a JSON formated string
	function JEncode($arr)
	{
		if (version_compare(PHP_VERSION,"5.2","<"))
		{    
			require_once("../../JSON.php"); //if php<5.2 need JSON class
			$json = new Services_JSON($conexion);//instantiate new json object
			$data=$json->encode($arr);  //encode the data in json format
		} else
		{
			$data = json_encode($arr);  //encode the data in json format
		}
		return $data;
	}

	// Encodes a YYYY-MM-DD into a MM-DD-YYYY string
	function codeDate ($date) 
	{
		$tab = explode ("-", $date);
		$r = $tab[1]."/".$tab[2]."/".$tab[0];
		return $r;
	}
	
	function testeo($resultado,$conn)
	{
		/*si suscede un error*/
		if($resultado==NULL)
		{
			$query = "ROLLBACK;";
			$result=mysql_query($query,$conn);
			return 1;
		}
		return 0;
	}
	
	function testerarchivo($nombrefile,$cadena)
	{
		$referencia=fopen($nombrefile,"w");		
		fwrite($referencia,$cadena);
		fclose($referencia);
	}
?> 